package cz.semjob.learning.instances.creator;

import java.util.List;

import cz.semjob.document.AnnotatedDocument;
import cz.semjob.document.annotation.metadata.Entity;
import cz.semjob.document.processing.DocumentInstance;
import cz.semjob.learning.data.TaxonomyLearningException;
import cz.semjob.learning.instances.LabeledTextInstance;
import cz.semjob.learning.instances.UnlabeledTextInstance;

public interface ITextInstanceCreator extends IInstanceCreator {

	List<LabeledTextInstance> createAllLabeledInstances(
			AnnotatedDocument annotatedDocument)
			throws TaxonomyLearningException;

	List<LabeledTextInstance> createLabeledInstancesForEntity(
			AnnotatedDocument annotatedDocument, Entity entity, boolean positive)
			throws TaxonomyLearningException;

	public List<UnlabeledTextInstance> createUnlabeledTextInstances(
			DocumentInstance document, Object... dataSource)
			throws TaxonomyLearningException;

	public List<String> getDataSourcesNames();

}
